// 第一题
/**  
 * 深入理解Math.pow()
 * 数组reduce方法
 */


// math.pow(m, n) => m^n
Math.pow(2, 3);// 8
Math.pow(3, 2);// 9

// 数组reduce方法
// 1、如果

[].reduce((preValue, curValue, index, array) => {
// 如果传递initValue时
    // preValue -》 initValue
    // cur Value=-》 array[0]

// 如果 不传递initValue时
    // preValue -》 array[0]
    // curValue -》 array[1]
}, initValue);



// 请判断下面代码最终的结果
[3, 2, 1].reduce(Math.pow)// 3^2 => 9^1 => 9
// 当数组只有一个元素且没有传初始值的时候 直接讲这个元素返回
[3].reduce(Math.pow)// 3
// 当数组没有元素但是传入初始值时候 直接将这个初始值返回
[].reduce(Math.pow, 3)// 3
// 当数组为空且不传初始值时 直接报错
[].reduce(Math.pow)//报错
// VM116:1 Uncaught TypeError: Reduce of empty array with no initial value
//     at Array.reduce (<anonymous>)
//     at <anonymous>:1:4